/**
 * 简单深拷贝
 */
export function clone<T> (obj: T): T {
  return JSON.parse(JSON.stringify(obj))
}

/**
 * 睡眠
 */
export function sleep (time: number): Promise<void> {
  return new Promise((resolve) => {
    const timer = setTimeout(() => {
      clearTimeout(timer)
      resolve()
    }, time)
  })
}

/**
 * 秒转时分秒
 */
export function tsToHms (second: number): [number, number, number] {
  if (second < 0) return [0, 0, 0]
  const sec = Math.floor(second)
  const h = Math.floor(sec / 3600)
  const m = Math.floor((sec % 3600) / 60)
  const s = Math.floor(sec % 60)
  return [h, m, s]
}

/**
 * 添加前导零
 */
export function addPreZero (num: number | string, length = 2): string {
  return (Array(length).join('0') + num).slice(-length)
}

/**
 * 区间内获取正整数
 */
export function getRandomInt (min: number, max: number): number {
  return Math.floor(Math.random() * (max - min)) + min
}

// /**
//  * 禁止放大模式
//  */
// export const settingFont = function () {
//   if (typeof WeixinJSBridge == "object" && typeof WeixinJSBridge.invoke == "function") {
//     handleFontSize();
//   } else {
//     if (document.addEventListener) {
//       document.addEventListener("WeixinJSBridgeReady", handleFontSize, false);
//     }
//   }
//   function handleFontSize() {
//     // 设置网页字体为默认大小
//     WeixinJSBridge.invoke('setFontSizeCallback', {
//       'fontSize': 0
//     });
//     // 重写设置网页字体大小的事件
//     WeixinJSBridge.on('menu:setfont', function () {
//       WeixinJSBridge.invoke('setFontSizeCallback', {
//         'fontSize': 0
//       });
//     });
//   }
// }
